大一点的项目定时任务管理自然是用xxl-job但是小的单体项目引入一个需要单独布的xxl-job就有点那个了

目的

  • Spring Scheduled注解任务可视化
  • 记录任务执行记录,并可视化
  • 启停/触发 Scheduled注解任务
  • 恢复任务时可调整Cron表达式或fixed时间

轻量/简洁

  • 不引入数据库
  • 不引入多余的类
  • 只关注Scheduled注解,且不改变底层机制,不重写执行框架
  • 尽量少用反射

实现方案

  • Bean实例化,实现任务信息收集
    • ScheduledAnnotationBeanPostProcessor 结束后遍历 scheduledTaskRegistrar
  • aop切Scheduled 实现任务执行记录
  • 调整ScheduledTaskRegistrar的任务列表实现启停

已基本写完

  • 怎么拆分打包到mavan是个问题

参考